webpackJsonp([0],{

/***/ 201:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
function injectStyle (ssrContext) {
  if (disposed) return
  __webpack_require__(232)
}
var normalizeComponent = __webpack_require__(76)
/* script */
var __vue_script__ = __webpack_require__(234)
/* template */
var __vue_template__ = __webpack_require__(235)
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-0ce30532"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
  __vue_script__,
  __vue_template__,
  __vue_template_functional__,
  __vue_styles__,
  __vue_scopeId__,
  __vue_module_identifier__
)
Component.options.__file = "resources/assets/js/components/page/roles-list.vue"

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-0ce30532", Component.options)
  } else {
    hotAPI.reload("data-v-0ce30532", Component.options)
  }
  module.hot.dispose(function (data) {
    disposed = true
  })
})()}

module.exports = Component.exports


/***/ }),

/***/ 202:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
function injectStyle (ssrContext) {
  if (disposed) return
  __webpack_require__(203)
}
var normalizeComponent = __webpack_require__(76)
/* script */
var __vue_script__ = __webpack_require__(205)
/* template */
var __vue_template__ = __webpack_require__(206)
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-9a59a338"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
  __vue_script__,
  __vue_template__,
  __vue_template_functional__,
  __vue_styles__,
  __vue_scopeId__,
  __vue_module_identifier__
)
Component.options.__file = "resources/assets/js/components/common/hint.vue"

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-9a59a338", Component.options)
  } else {
    hotAPI.reload("data-v-9a59a338", Component.options)
  }
  module.hot.dispose(function (data) {
    disposed = true
  })
})()}

module.exports = Component.exports


/***/ }),

/***/ 203:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(204);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(77)("22a9c69c", content, false, {});
// Hot Module Replacement
if(false) {
 // When the styles change, update the <style> tags
 if(!content.locals) {
   module.hot.accept("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-9a59a338\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./hint.vue", function() {
     var newContent = require("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-9a59a338\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./hint.vue");
     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
     update(newContent);
   });
 }
 // When the module is disposed, remove the <style> tags
 module.hot.dispose(function() { update(); });
}

/***/ }),

/***/ 204:
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(48)(false);
// imports


// module
exports.push([module.i, "\n.hint[data-v-9a59a338] {\n  background-color: #ebf8fd;\n  border: 1px solid #ceeef9;\n  border-radius: 5px;\n  padding: 5px 15px 7px 20px;\n  margin-bottom: 12px;\n}\n.hint h3[data-v-9a59a338] {\n  line-height: 30px;\n  color: #84d2f1;\n}\n.hint p[data-v-9a59a338] {\n  line-height: 22px;\n}\n.hint a[data-v-9a59a338] {\n  color: #1cadf1;\n}\n", ""]);

// exports


/***/ }),

/***/ 205:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
//
//
//

/* harmony default export */ __webpack_exports__["default"] = ({
  props: {
    title: String,
    content: String,
    link: {
      type: Object,
      default: function _default() {
        return { name: '', url: '' };
      }
    }
  }
});

/***/ }),

/***/ 206:
/***/ (function(module, exports, __webpack_require__) {

var render = function() {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c("div", { staticClass: "hint" }, [
    _c("h3", [_vm._v(_vm._s(_vm.title))]),
    _vm._v(" "),
    _c("p", [
      _vm._v(_vm._s(_vm.content)),
      _c("a", { attrs: { href: _vm.link.url } }, [
        _vm._v(_vm._s(_vm.link.name))
      ])
    ])
  ])
}
var staticRenderFns = []
render._withStripped = true
module.exports = { render: render, staticRenderFns: staticRenderFns }
if (false) {
  module.hot.accept()
  if (module.hot.data) {
    require("vue-hot-reload-api")      .rerender("data-v-9a59a338", module.exports)
  }
}

/***/ }),

/***/ 207:
/***/ (function(module, exports, __webpack_require__) {

var disposed = false
function injectStyle (ssrContext) {
  if (disposed) return
  __webpack_require__(208)
}
var normalizeComponent = __webpack_require__(76)
/* script */
var __vue_script__ = __webpack_require__(210)
/* template */
var __vue_template__ = __webpack_require__(211)
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-5b866a24"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
  __vue_script__,
  __vue_template__,
  __vue_template_functional__,
  __vue_styles__,
  __vue_scopeId__,
  __vue_module_identifier__
)
Component.options.__file = "resources/assets/js/components/common/crumb.vue"

/* hot reload */
if (false) {(function () {
  var hotAPI = require("vue-hot-reload-api")
  hotAPI.install(require("vue"), false)
  if (!hotAPI.compatible) return
  module.hot.accept()
  if (!module.hot.data) {
    hotAPI.createRecord("data-v-5b866a24", Component.options)
  } else {
    hotAPI.reload("data-v-5b866a24", Component.options)
  }
  module.hot.dispose(function (data) {
    disposed = true
  })
})()}

module.exports = Component.exports


/***/ }),

/***/ 208:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(209);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(77)("a25f9baa", content, false, {});
// Hot Module Replacement
if(false) {
 // When the styles change, update the <style> tags
 if(!content.locals) {
   module.hot.accept("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-5b866a24\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./crumb.vue", function() {
     var newContent = require("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-5b866a24\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./crumb.vue");
     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
     update(newContent);
   });
 }
 // When the module is disposed, remove the <style> tags
 module.hot.dispose(function() { update(); });
}

/***/ }),

/***/ 209:
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(48)(false);
// imports


// module
exports.push([module.i, "\n.crumb[data-v-5b866a24] {\n  height: 45px;\n  line-height: 45px;\n  font-size: 14px;\n  border-bottom: 1px solid #e6e6e6;\n  margin-bottom: 15px;\n}\n.u-goBack[data-v-5b866a24] {\n  font-size: 30px;\n  color: #999999;\n  vertical-align: -5px;\n  margin-right: 15px;\n}\n.u-goBack[data-v-5b866a24]:hover {\n  color: coral;\n}\n.u-connect[data-v-5b866a24] {\n  margin: 0 3px;\n}\n", ""]);

// exports


/***/ }),

/***/ 210:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
//
//

/* harmony default export */ __webpack_exports__["default"] = ({
  props: {
    from: String,
    now: String
  },
  methods: {
    go_back: function go_back() {
      // 触发返回点击事件
      this.$emit('goBack');
    }
  }
});

/***/ }),

/***/ 211:
/***/ (function(module, exports, __webpack_require__) {

var render = function() {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c("div", { staticClass: "crumb" }, [
    _c("i", {
      staticClass: "iconfont icon-fanhui u-goBack",
      on: { click: _vm.go_back }
    }),
    _vm._v(_vm._s(_vm.from)),
    _c("i", { staticClass: "iconfont icon-zuo u-connect" }),
    _vm._v(_vm._s(_vm.now) + "\n")
  ])
}
var staticRenderFns = []
render._withStripped = true
module.exports = { render: render, staticRenderFns: staticRenderFns }
if (false) {
  module.hot.accept()
  if (module.hot.data) {
    require("vue-hot-reload-api")      .rerender("data-v-5b866a24", module.exports)
  }
}

/***/ }),

/***/ 232:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(233);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(77)("37c49820", content, false, {});
// Hot Module Replacement
if(false) {
 // When the styles change, update the <style> tags
 if(!content.locals) {
   module.hot.accept("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-0ce30532\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./roles-list.vue", function() {
     var newContent = require("!!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-0ce30532\",\"scoped\":true,\"hasInlineConfig\":true}!../../../../../node_modules/vux-loader/src/style-loader.js!../../../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./roles-list.vue");
     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
     update(newContent);
   });
 }
 // When the module is disposed, remove the <style> tags
 module.hot.dispose(function() { update(); });
}

/***/ }),

/***/ 233:
/***/ (function(module, exports, __webpack_require__) {

exports = module.exports = __webpack_require__(48)(false);
// imports


// module
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ""]);

// exports


/***/ }),

/***/ 234:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_hint_vue__ = __webpack_require__(202);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_hint_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__common_hint_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_crumb_vue__ = __webpack_require__(207);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_crumb_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__common_crumb_vue__);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//



/* harmony default export */ __webpack_exports__["default"] = ({
    data: function data() {
        return {
            hint: {
                title: '操作提示',
                content: '\u7F51\u7AD9\u7CFB\u7EDF\u7BA1\u7406\u5458, \u7531\u603B\u5E73\u53F0\u8BBE\u7F6E\u7BA1\u7406.\u70B9\u51FB\u5217\u8868\u91CC\u7684\u5220\u9664\u6309\u94AE\u5220\u9664\u5355\u4E2A\u7BA1\u7406\u5458\u65F6\u4E0D\u53D7\u590D\u9009\u6846\u7684\u5F71\u54CD\uFF01\u590D\u9009\u6846\u6570\u636E\u53EA\u5728\u70B9\u51FB\u5217\u8868\u4E0B\u65B9\u6279\u91CF\u5220\u9664\u65F6\u6709\u6548'
            }, // 提示模块参数
            tableData: [], // 表格数据
            multipleSelection: [], // 选中列
            add_show: false, // 是否弹出管理员编辑页面
            crumb: {
                from: '角色管理',
                now: '添加角色'
            }, // 面包屑模块参数
            ruleForm: {
                id: '',
                name: '',
                say: '',
                list: []
            }, // 编辑页面表单数据
            checkAll: {
                1: false,
                2: false,
                3: false,
                4: false,
                5: false,
                6: false,
                7: false,
                8: false
            }, // 全选
            checkeds: {
                1: [],
                2: [],
                3: [],
                4: [],
                5: [],
                6: [],
                7: [],
                8: []
            }, // 选中项列表
            powerList: [], // 权限列表
            rules: {
                name: [{ required: true, message: '请输入角色名', trigger: 'blur' }],
                list: [{ validator: this.va.vaArrey, trigger: 'submit' }]
            }, // 验证规则
            id: '', // 所编辑id
            del_id: [], // 删除储存数组
            loading: true
        };
    },
    created: function created() {
        this.get_roles();
    },

    methods: {
        // 监听子组件点击事件 关闭弹出层
        go_back: function go_back() {
            this.add_show = false;
        },

        // 获取角色列表
        get_roles: function get_roles() {
            var _this = this;

            window.axiox.post(this.getApi('root/auth/roles')).then(function (res) {
                _this.loading = false;
                if (res.data.code === 0) {
                    _this.tableData = res.data.roles;
                } else {
                    _this.$message(res.data.msg);
                }
            }).catch(function () {
                _this.loading = false;
                _this.$message('对不起！请稍后再试');
            });
        },

        // 添加编辑角色
        edit_role: function edit_role(id) {
            var _this2 = this;

            this.add_show = true;
            this.id = id;
            // 清楚数据
            this.checkeds = {
                1: [],
                2: [],
                3: [],
                4: [],
                5: [],
                6: [],
                7: [],
                8: []
            };
            this.checkAll = {
                1: false,
                2: false,
                3: false,
                4: false,
                5: false,
                6: false,
                7: false,
                8: false
            };
            // 发送请求
            this.antiShake.antiShake(function (resolve, reject) {
                window.axiox.post(_this2.getApi('root/auth/roles-edit'), 'id=' + _this2.id).then(function (res) {
                    resolve(res);
                    if (res.data.code === 0) {
                        _this2.powerList = res.data.all_pers;
                        _this2.ruleForm.name = res.data.name;
                        _this2.ruleForm.say = res.data.description;
                        _this2.ruleForm.id = res.data.id;

                        // 处理权限列表中的选中项
                        _this2.powerList.forEach(function (item) {
                            _this2.checkAll[item.id] = item.checked;
                            item.grandson.forEach(function (ite) {
                                if (ite.checked) {
                                    _this2.checkeds[item.id].push(ite.id);
                                }
                            });
                        });
                    }
                }).catch(function (err) {
                    reject(err);
                    console.log(err);
                    // this.$message('对不起！请稍后再试')
                });
            });
        },

        // 全选
        handleCheckAllChange: function handleCheckAllChange(event, id, index) {
            if (event) {
                var arr = [];
                this.powerList[index].grandson.forEach(function (item) {
                    arr.push(item.id);
                });
                this.checkeds[id] = arr;
            } else {
                this.checkeds[id] = [];
            }
        },

        // 多选列表
        handleCheckedChange: function handleCheckedChange(value, id, index) {
            this.checkAll[id] = value.length === this.powerList[index].grandson.length;
        },

        // 取消选择
        toggleSelection: function toggleSelection(rows) {
            var _this3 = this;

            if (rows) {
                rows.forEach(function (row) {
                    _this3.$refs.multipleTable.toggleRowSelection(row);
                });
            } else {
                this.$refs.multipleTable.clearSelection();
            }
        },

        // 收集选中列
        handleSelectionChange: function handleSelectionChange(val) {
            this.multipleSelection = val;
        },

        // 删除角色
        del_role: function del_role(id) {
            var _this4 = this;

            this.$confirm('是否确认删除角色?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(function () {
                if (id === 'all') {
                    _this4.multipleSelection.forEach(function (item) {
                        _this4.del_id.push(item.id);
                    });
                } else {
                    _this4.del_id.push(id);
                }

                _this4.antiShake.antiShake(function (resolve, reject) {
                    window.axiox.post(_this4.getApi('root/auth/roles-del'), _this4.dafa({
                        id: _this4.del_id
                    })).then(function (res) {
                        resolve(res);
                        _this4.del_id = [];
                        if (res.data.code === 0) {
                            _this4.get_roles();
                        } else {
                            _this4.toggleSelection();
                        }
                    }).catch(function (err) {
                        reject(err);
                        // this.$message('对不起！请稍后再试');
                        _this4.toggleSelection();
                        _this4.del_id = [];
                    });
                });
            }).catch(function () {
                _this4.toggleSelection();
                _this4.del_id = [];
                _this4.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        },

        // 保存角色
        submitForm: function submitForm(formName) {
            var _this5 = this;

            var arr = [];
            for (var i in this.checkeds) {
                arr = arr.concat(this.checkeds[i]);
            }
            this.ruleForm.list = arr;

            this.$refs[formName].validate(function (valid) {
                if (valid) {
                    _this5.antiShake.antiShake(function (resolve, reject) {
                        window.axiox.post(_this5.getApi('root/auth/roles-save'), _this5.dafa({
                            id: _this5.id,
                            name: _this5.ruleForm.name,
                            description: _this5.ruleForm.say,
                            permissions: _this5.ruleForm.list
                        })).then(function (res) {
                            resolve(res);
                            if (res.data.code === 0) {
                                _this5.add_show = false;
                                _this5.get_roles();
                            }
                        }).catch(function (err) {
                            reject(err);
                        });
                    });
                } else {
                    _this5.$message('请检查填写信息是否有误');
                    return false;
                }
            });
        }
    },
    computed: {},
    components: { hint: __WEBPACK_IMPORTED_MODULE_0__common_hint_vue___default.a, crumb: __WEBPACK_IMPORTED_MODULE_1__common_crumb_vue___default.a }
});

/***/ }),

/***/ 235:
/***/ (function(module, exports, __webpack_require__) {

var render = function() {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c("div", { staticClass: "role-administrate prop-box" }, [
    _c(
      "div",
      { staticClass: "m-role-administrate m-prop-box" },
      [
        _c("hint", {
          attrs: { title: _vm.hint.title, content: _vm.hint.content }
        }),
        _vm._v(" "),
        _c(
          "h2",
          [
            _vm._v("角色列表"),
            _c("span", [
              _vm._v("（共" + _vm._s(_vm.tableData.length) + "条记录）")
            ]),
            _vm._v(" "),
            _c(
              "el-button",
              {
                staticClass: "add-role-btn add-btn",
                attrs: { type: "text", icon: "plus", size: "small" },
                on: {
                  click: function($event) {
                    _vm.edit_role("")
                  }
                }
              },
              [_vm._v("添加角色\n            ")]
            )
          ],
          1
        ),
        _vm._v(" "),
        _c(
          "el-table",
          {
            directives: [
              {
                name: "loading",
                rawName: "v-loading",
                value: _vm.loading,
                expression: "loading"
              }
            ],
            ref: "multipleTable",
            attrs: {
              "element-loading-text": "拼命加载中",
              data: _vm.tableData,
              stripe: ""
            },
            on: { "selection-change": _vm.handleSelectionChange }
          },
          [
            _c("el-table-column", {
              attrs: { type: "selection", width: "55" }
            }),
            _vm._v(" "),
            _c("el-table-column", { attrs: { prop: "id", label: "ID" } }),
            _vm._v(" "),
            _c("el-table-column", {
              attrs: { prop: "name", label: "角色名称", "min-width": "100" }
            }),
            _vm._v(" "),
            _c("el-table-column", {
              attrs: {
                prop: "created_at",
                label: "角色创建时间",
                "min-width": "120"
              }
            }),
            _vm._v(" "),
            _c("el-table-column", {
              attrs: {
                prop: "updated_at",
                label: "角色更新时间",
                "min-width": "120"
              }
            }),
            _vm._v(" "),
            _c("el-table-column", {
              attrs: { prop: "operation", label: "操作", "min-width": "180" },
              scopedSlots: _vm._u([
                {
                  key: "default",
                  fn: function(scope) {
                    return [
                      _c(
                        "el-button",
                        {
                          attrs: {
                            type: "primary",
                            size: "small",
                            icon: "edit"
                          },
                          on: {
                            click: function($event) {
                              _vm.edit_role(scope.row.id)
                            }
                          }
                        },
                        [_vm._v("编辑\n                    ")]
                      ),
                      _vm._v(" "),
                      _c(
                        "el-button",
                        {
                          attrs: {
                            type: "danger",
                            size: "small",
                            icon: "delete"
                          },
                          on: {
                            click: function($event) {
                              _vm.del_role(scope.row.id)
                            }
                          }
                        },
                        [_vm._v("删除\n                    ")]
                      )
                    ]
                  }
                }
              ])
            })
          ],
          1
        ),
        _vm._v(" "),
        _vm.tableData.length > 0
          ? _c(
              "div",
              { staticClass: "select-all" },
              [
                _c(
                  "el-button",
                  {
                    attrs: { plain: true, type: "primary" },
                    on: {
                      click: function($event) {
                        _vm.toggleSelection()
                      }
                    }
                  },
                  [_vm._v("取消")]
                ),
                _vm._v(" "),
                _c(
                  "el-button",
                  {
                    attrs: {
                      plain: true,
                      disabled: _vm.multipleSelection.length == 0,
                      type: "danger"
                    },
                    on: {
                      click: function($event) {
                        _vm.del_role("all")
                      }
                    }
                  },
                  [_vm._v("\n                删除\n            ")]
                )
              ],
              1
            )
          : _vm._e()
      ],
      1
    ),
    _vm._v(" "),
    _vm.add_show
      ? _c(
          "div",
          { staticClass: "add-role prop" },
          [
            _c("crumb", {
              attrs: { from: _vm.crumb.from, now: _vm.crumb.now },
              on: { goBack: _vm.go_back }
            }),
            _vm._v(" "),
            _c(
              "el-form",
              {
                ref: "ruleForm",
                staticClass: "demo-ruleForm",
                attrs: {
                  model: _vm.ruleForm,
                  rules: _vm.rules,
                  "label-width": "240px"
                }
              },
              [
                _c(
                  "el-form-item",
                  { attrs: { label: "角色名称", prop: "name" } },
                  [
                    _c("el-input", {
                      model: {
                        value: _vm.ruleForm.name,
                        callback: function($$v) {
                          _vm.$set(_vm.ruleForm, "name", $$v)
                        },
                        expression: "ruleForm.name"
                      }
                    })
                  ],
                  1
                ),
                _vm._v(" "),
                _c(
                  "el-form-item",
                  { attrs: { label: "角色描述" } },
                  [
                    _c("el-input", {
                      attrs: { type: "textarea" },
                      model: {
                        value: _vm.ruleForm.say,
                        callback: function($$v) {
                          _vm.$set(_vm.ruleForm, "say", $$v)
                        },
                        expression: "ruleForm.say"
                      }
                    })
                  ],
                  1
                ),
                _vm._v(" "),
                _c(
                  "el-form-item",
                  { attrs: { label: "权限分配", prop: "list" } },
                  _vm._l(_vm.powerList, function(item, index) {
                    return _c(
                      "div",
                      [
                        _c(
                          "el-checkbox",
                          {
                            on: {
                              change: function($event) {
                                _vm.handleCheckAllChange($event, item.id, index)
                              }
                            },
                            model: {
                              value: _vm.checkAll[item.id],
                              callback: function($$v) {
                                _vm.$set(_vm.checkAll, item.id, $$v)
                              },
                              expression: "checkAll[item.id]"
                            }
                          },
                          [
                            _vm._v(
                              "\n                        全选-" +
                                _vm._s(item.title) +
                                "\n                    "
                            )
                          ]
                        ),
                        _vm._v(" "),
                        _c(
                          "el-checkbox-group",
                          {
                            on: {
                              change: function($event) {
                                _vm.handleCheckedChange($event, item.id, index)
                              }
                            },
                            model: {
                              value: _vm.checkeds[item.id],
                              callback: function($$v) {
                                _vm.$set(_vm.checkeds, item.id, $$v)
                              },
                              expression: "checkeds[item.id]"
                            }
                          },
                          _vm._l(item.grandson, function(ite) {
                            return _c(
                              "el-checkbox",
                              { key: ite.id, attrs: { label: ite.id } },
                              [
                                _vm._v(
                                  "\n                            " +
                                    _vm._s(ite.title) +
                                    "\n                        "
                                )
                              ]
                            )
                          })
                        ),
                        _vm._v(" "),
                        _c("div", { staticStyle: { margin: "15px 0" } })
                      ],
                      1
                    )
                  })
                ),
                _vm._v(" "),
                _c(
                  "el-form-item",
                  [
                    _c(
                      "el-button",
                      {
                        attrs: { type: "primary" },
                        on: {
                          click: function($event) {
                            _vm.submitForm("ruleForm")
                          }
                        }
                      },
                      [_vm._v("确认提交")]
                    )
                  ],
                  1
                )
              ],
              1
            )
          ],
          1
        )
      : _vm._e()
  ])
}
var staticRenderFns = []
render._withStripped = true
module.exports = { render: render, staticRenderFns: staticRenderFns }
if (false) {
  module.hot.accept()
  if (module.hot.data) {
    require("vue-hot-reload-api")      .rerender("data-v-0ce30532", module.exports)
  }
}

/***/ })

});